/**
 * 日期格式化
 * @param {*} date 
 * @param {*} fmt 
 * @returns 
 */
export function format(date, fmt = "yyyy-MM-dd hh:mm:ss") {
    if (typeof date == "undefined" || !date) {
        return ""
    }
    if (typeof date === "number" || typeof date === "string") {
        date = new Date(date);
    }
    let o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "H+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        "S": date.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substring(4 - RegExp.$1.length));
    }
    for (let k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substring(("" + o[k]).length)));
        }
    }
    return fmt;
}

/**
 * 计算日期偏移
 * @param {*} date 传入的日期
 * @param {*} day  天数
 * @param {*} month 月数
 * @param {*} year 年数
 * @returns 
 */
export function offset(date, day = 0, month = 0, year = 0) {
    if (date) {
        if (typeof date === "number" || typeof date === "string") {
            date = new Date(date);
        }
        date.setDate(date.getDate() + day)
        date.setMonth(date.getMonth() + month)
        date.setFullYear(date.getFullYear() + year)
        return date
    }
}

export default {
    format,
    offset
}